השאלה שלי היא: איך אני מוציא את ה-index.php מכל הקישורים שלי? (אם מישהו מנסה להיכנס ל-laravel.loc/index.php/$1, הוא יועבר ל-laravel.loc/$1.)
13 תשובות
application/config/application.php
'index' => 'index.php',
/* more code .. */
to
'index' => '',
/* more code .. */
CTRL+S
עשיתי את זה. לא עבד. (זה אחד הדברים שהייתי צריך לעשות כדי להשיג את התוצאה שקיבלתי מקודם.)
אתה לא.
כמו שאתה יכול להיכנס כאן: http://phpguide.co.il/index.php/q1145/Laravel++%D7%9C%D7%94%D7%95%D7%A6%D7%99%D7%90+%D7%90%D7%AA+%D7%94indexphp+%D7%9E%D7%94%D7%A7%D7%99%D7%A9%D7%95%D7%A8%D7%99%D7%9D+%D7%9C%D7%92%D7%9E%D7%A8%D7%99.htm
כמו שאתה יכול להיכנס כאן: http://laravel.com/index.php/docs/install#cleaner-urls
או כל אתר אחר כי הindex.php זה קובץ קיים.
הראוט שנמצא ב.htaccess עובד בצורה הכי פשוטה: אם הקובץ / תיקייה קיים, הוא יגש אליו. אחרת, הוא יקח את הסטרינג וישלח אותו לindex.php ואז הפריימוורק (לרבל, או כל פריימוורק שמציע route) יודע לנתח את הקישור ולטעון את הקונטרולר המתאים / הפונקציה שהגדרת בroute שלך.
אתה תמיד יכול לעשות שלא משנה לאן שהבנאדם יגש, גם אם הקובץ קיים הוא יחזיר את הסטרינג לאינדקס שלך, אבל אז תצטרך לבצע proxy ברמת האפליקציה ויהיה לך בעיתי עכשיו לממש דבר כזה.
זה לא מפריע לאף אחד, תשאיר את זה כמו שזה.
זה לא בעייתי למנועי חיפוש או משהו כזה? (שחצי מהכתובות באתר מובילות לדפים שזהים לחצי מהכתובות האחרות)
אתה פשוט יכול לשנות את השם של index.php למשהו רנדיאמלי (נגיד g53w5hdfvsdf_dfgh44.php) שאף אחד אף פעם לא ידיע אליו אף פעם ולעדכן את זה ב.htaccess או להוסיף תנאי (יש הרבה דרכים לעשות את זה, לך על strpos) בסקריפט שברגע שניגשים ל index.php/sdf הלקוח יקבל 301 ל sdf ..
לא ברור לי על מה אתה מתעכב. עזוב את ה index.php הזה שם. הוא לא מפריע לאף אחד ואף אחד לא יודע על קיומו.